//
//  JKWelcomeView.swift
//  新浪微博
//
//  Created by Jack.Lin on 16/7/4.
//  Copyright © 2016年 Jack.Lin. All rights reserved.
//

import UIKit
import SDWebImage

class JKWelcomeView: UIView {
    @IBOutlet weak var iconView: UIImageView!

    @IBOutlet weak var tipLabel: UILabel!
  
    @IBOutlet weak var bottomCons: NSLayoutConstraint!
    
    @IBOutlet weak var iconWidthCons: NSLayoutConstraint!
    
    class func welcomeView() -> JKWelcomeView {
        
        let nib = UINib(nibName: "JKWelcomeView", bundle: nil)
        
        let v = nib.instantiate(withOwner: nil, options: nil)[0] as! JKWelcomeView

        v.frame = UIScreen.main().bounds
        
        return v
        
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        
        // 提示：initWithCode 只是刚刚从 XIB 的二进制文件将视图数据加载完成
        // 还没有和代码连线建立起关系，所以开发时，千万不要在这个方法中处理 UI
        print("initWithCoder + \(iconView)")
    }

    override func awakeFromNib() {
     
        // 1. url
        guard let urlString = JKNetworkManager.shared.userAccount.avatar_large,
            let url = URL(string: urlString) else {
                return
        }
        
        // 2. 设置头像 - 如果网络图像没有下载完成，先显示占位图像
        // 如果不指定占位图像，之前设置的图像会被清空！
        iconView.sd_setImage(with: url,
                             placeholderImage: UIImage(named: "avatar_default_big"))
        
        // 3. 设置圆角
        iconView.layer.masksToBounds = true
        iconView.layer.cornerRadius = iconWidthCons.constant * 0.5

    }
    
    // 视图被添加到 window 上, 表示视图已经显示
    override func didMoveToWindow() {
        super.didMoveToWindow()
        
        self.layoutIfNeeded()
        
        bottomCons.constant = bounds.size.height - 200
        
        UIView.animate(withDuration: 1.0,
                       delay: 0,
                       usingSpringWithDamping: 0.7,
                       initialSpringVelocity: 0,
                       options: [],
                       animations: {
                        // 更新约束
                        self.layoutIfNeeded()
            }) { (_) in
                UIView.animate(withDuration: 1.0, animations: {
                    self.tipLabel.alpha = 1
                    }, completion: { (_) in
                        
                  self.removeFromSuperview()
                })
        }
    
    }
}
